#ifndef _SIGNINREWARD_H_
#define _SIGNINREWARD_H_
#include "SimpleRefection.h"
#include "MgrBase.h"

struct SignInReward:public ReflectionBase
{
	DECL_REFLECTION(SignInReward,"../../config/SignInReward.xml");
	int32 m_iID;
	std::string m_sDisplayName;
	uint32 m_iDayNum;
	ERewardItemType m_eRewardType1;
	int32					m_iNumOrID1;
	ERewardItemType m_eRewardType2;
	int32					m_iNumOrID2;
	ERewardItemType m_eRewardType3;
	int32					m_iNumOrID3;
	ERewardItemType m_eRewardType4;
	int32					m_iNumOrID4;
	ERewardItemType m_eRewardType5;
	int32					m_iNumOrID5;
	ERewardItemType m_eRewardType6;
	int32					m_iNumOrID6;
	ERewardItemType m_eRewardType7;
	int32					m_iNumOrID7;
	ERewardItemType m_eRewardType8;
	int32					m_iNumOrID8;
	ERewardItemType m_eRewardType9;
	int32					m_iNumOrID9;
	ERewardItemType m_eRewardType10;
	int32					m_iNumOrID10;
	ERewardItemType m_eRewardType11;
	int32					m_iNumOrID11;
	ERewardItemType m_eRewardType12;
	int32					m_iNumOrID12;
	ERewardItemType m_eRewardType13;
	int32					m_iNumOrID13;
	ERewardItemType m_eRewardType14;
	int32					m_iNumOrID14;
	ERewardItemType m_eRewardType15;
	int32					m_iNumOrID15;
	ERewardItemType m_eRewardType16;
	int32					m_iNumOrID16;
	ERewardItemType m_eRewardType17;
	int32					m_iNumOrID17;
	ERewardItemType m_eRewardType18;
	int32					m_iNumOrID18;
	ERewardItemType m_eRewardType19;
	int32					m_iNumOrID19;
	ERewardItemType m_eRewardType20;
	int32					m_iNumOrID20;

	rewrite virtual void OnArchieveReaded();

	std::vector<ERewardItemType> m_vRewardTypes;
	std::vector<int32> m_vRewardNumOrIDs;

	std::pair<ERewardItemType,int> GetRewardOfDay(uint32 iDay) const;

};

typedef DefMangerTpl<SignInReward> SignInRewardManager;


#endif